﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using EvertonApp.Data.UnitOfWork;
using EvertonApp.Transporte;

namespace EvertonApp.WebAPI.Controllers
{
    public class OfertaController : ApiController
    {
        private ComerciosUoW _ofertas;

        public OfertaController()
        {
            _ofertas = new ComerciosUoW();
        }

        // GET api/oferta
        public IEnumerable<Oferta> Get()
        {
            IQueryable<Oferta> ofertas = _ofertas.OfertasRepository.GetAll();

            return ofertas.AsEnumerable();
        }

        // GET api/oferta/5
        public Oferta Get(Guid id)
        {
            return _ofertas.OfertasRepository.GetById(id);
        }

        // POST api/oferta
        public Oferta Post([FromBody]Oferta value)
        {
           return _ofertas.OfertasRepository.Insert(value);
        }

        // PUT api/oferta/5
        public bool Put(Guid id, [FromBody]Oferta value)
        {
            return _ofertas.OfertasRepository.Update(id, value);
        }

        // DELETE api/oferta/5
        public bool Delete(Guid id)
        {
            return _ofertas.OfertasRepository.Delete(_ofertas.OfertasRepository.GetById(id));
        }
    }
}
